1. Field of the Invention
An aspect of this disclosure relates to an information processing apparatus, an information processing method, and a storage medium.
2. Description of the Related Art
In a typical software environment of an information processing apparatus, an application provides functions (application functions) to a user using multiple program modules (hereafter called functional modules) that provide basic (small or lower-level) functions. That is, an application function is implemented through the collaboration among functional modules.
In such a software environment, when the design or specification is changed, it is often necessary to change multiple functional modules that are affected by the change. Therefore, when changed (or updated) functional modules are installed (or replaced with original functional modules) in a software environment that has been released or marketed, it is necessary to manage combinations of functional modules based on their versions to prevent failure or malfunction resulting from invalid combinations of the functional modules.
For example, Japanese Laid-Open Patent Publication No. 2007-304639 discloses a technology where software configuration information on functional modules is registered in a database and an installer is generated based on the software configuration information to manage combinations of the functional modules to be installed.
With related-art technologies, however, even when one functional module is changed, it is necessary to also change other functional modules, which are to be used in combination with the changed functional module to provide an application function, according to the change made to the functional module. Also, with the technology disclosed in JP2007-304639, as the number of combinations of functional modules increases, the number of combinations registered in the software configuration information increases. This in turn makes it harder to manage the software configuration information itself and makes it difficult to maintain the consistency of the versions of the functional modules.
Thus, with the related-art technologies, software vendors (who provide functional modules) need to do complicated work in updating (or changing) and managing functional modules, and such complicated work may lead to errors.